home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / drivers / media / dvb / frontends / mt352.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.2 KB  |  74 lines

  1. /*
  2.  *  Driver for Zarlink DVB-T MT352 demodulator
  3.  *
  4.  *  Written by Holger Waechtler <holger@qanu.de>
  5.  *     and Daniel Mack <daniel@qanu.de>
  6.  *
  7.  *  AVerMedia AVerTV DVB-T 771 support by
  8.  *       Wolfram Joost <dbox2@frokaschwei.de>
  9.  *
  10.  *  Support for Samsung TDTC9251DH01C(M) tuner
  11.  *  Copyright (C) 2004 Antonio Mancuso <antonio.mancuso@digitaltelevision.it>
  12.  *                     Amauri  Celani  <acelani@essegi.net>
  13.  *
  14.  *  DVICO FusionHDTV DVB-T1 and DVICO FusionHDTV DVB-T Lite support by
  15.  *       Christopher Pascoe <c.pascoe@itee.uq.edu.au>
  16.  *
  17.  *  This program is free software; you can redistribute it and/or modify
  18.  *  it under the terms of the GNU General Public License as published by
  19.  *  the Free Software Foundation; either version 2 of the License, or
  20.  *  (at your option) any later version.
  21.  *
  22.  *  This program is distributed in the hope that it will be useful,
  23.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  24.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  25.  *
  26.  *  GNU General Public License for more details.
  27.  *
  28.  *  You should have received a copy of the GNU General Public License
  29.  *  along with this program; if not, write to the Free Software
  30.  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.=
  31.  */
  32.  
  33. #ifndef MT352_H
  34. #define MT352_H
  35.  
  36. #include <linux/dvb/frontend.h>
  37.  
  38. struct mt352_config
  39. {
  40.     /* the demodulator's i2c address */
  41.     u8 demod_address;
  42.  
  43.     /* frequencies in kHz */
  44.     int adc_clock;  // default: 20480
  45.     int if2;        // default: 36166
  46.  
  47.     /* set if no pll is connected to the secondary i2c bus */
  48.     int no_tuner;
  49.  
  50.     /* Initialise the demodulator and PLL. Cannot be NULL */
  51.     int (*demod_init)(struct dvb_frontend* fe);
  52. };
  53.  
  54. #if defined(CONFIG_DVB_MT352) || (defined(CONFIG_DVB_MT352_MODULE) && defined(MODULE))
  55. extern struct dvb_frontend* mt352_attach(const struct mt352_config* config,
  56.                      struct i2c_adapter* i2c);
  57. #else
  58. static inline struct dvb_frontend* mt352_attach(const struct mt352_config* config,
  59.                      struct i2c_adapter* i2c)
  60. {
  61.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  62.     return NULL;
  63. }
  64. #endif // CONFIG_DVB_MT352
  65.  
  66. static inline int mt352_write(struct dvb_frontend *fe, u8 *buf, int len) {
  67.     int r = 0;
  68.     if (fe->ops.write)
  69.         r = fe->ops.write(fe, buf, len);
  70.     return r;
  71. }
  72.  
  73. #endif // MT352_H
  74.